1. Field of the Invention
This invention relates to a method of communicating between two computers over a communications network.
2. Related Art
It is well known that the Internet is a global communications network which is used to connect a very large number of computers, with the Internet protocol (IP) being used to control communication between computers that use different network technologies (e.g. Ethernet, ISDN, ATM, etc.). One of the most commonly used applications on the Internet is the World Wide Web (WWW) which allows users to access text, graphics, audio and video resources which are stored on WWW servers. WWW servers use hyper text mark-up language (HTML), which is interpreted by browser programs run on client computers, in order to facilitate the display of and access to resources of various formats.
Conventionally, a WWW server communicates with the browser using Transmission Control Protocol (TCP) as a transport protocol, which ensures a reliable delivery of data. TCP provides reliable delivery of data by minimising errors in the transmitted data, assuring data delivery (and informing the sender in the case of delivery failure), endeavoring to deliver data in the correct sequence and eliminating duplication of delivered data (for further information regarding TCP, and related Internetworking protocols, see, for example. xe2x80x9cIPing and the TCP/IP Protocols: Implementing the Next Generation Internetxe2x80x9d, Stephen A. Thomas, published by John Wiley and Sons.). Hypertext Transfer Protocol (HTTP) is the application protocol that controls the transfer of data between the WWW server and the WWW browser.
When downloading text resources, either plain text or HTML-formatted text, from a WWW server the browser is able to display chunks of text, as and when the chunks are received by the browser. For audio or video data resources, e.g. digitised music or video clips. It is normally necessary for the browser to download all of the audio or video resource before the resource can be played back by the user. As video and audio resources tend to be relatively large, e.g. a 45 second QuickTime movie requires 1.5 2.5 MB of storage (with the size depending upon the movie""s resolution) and a 30 second audio clip in the .wav format (mono sound, 11 kB sampling frequency and 8 bit sampling) requires 300 kB of storage, the time taken to download them can be quite significant, leading to user dissatisfaction. One approach, when has been followed by RealNetworks with their RealPlayer and RealAudio products (see http://www.realnetworks.com), is to xe2x80x98streamxe2x80x99 the audio or video resource from the server to the user. xe2x80x98Streamingxe2x80x99 requires that the video or audio resource is encoded by the administrator of the WWW server and the encoded resource stored on the WWW server. This allows a user with a suitably configured browser to xe2x80x98downloadxe2x80x99 the resource, which is transmitted to the browser in a stream of packets which can be played back once a sufficient number of the packets are received by the browser. This becomes an unwieldy approach if there are a number of compacting coding protocols for audio and/or video resources as the resource would need to be encoded using each coding protocol which is an inefficient use of storage space on the WWW server and increases the amount of time required to manage the WWW server. For example, if the coding protocol were to be undated to a more advanced version it might be necessary to re-code all of the resources stored using the previous version of the coding protocol and all browsers would need to be upgraded to the include the new protocol in order to use the re-coded resources with the added features of the new protocol.
In accordance with a first aspect of the invention there is provided a method of transmitting data from a first server computer to a client computer, the method comprising the steps of transmitting the data from the first server computer to a second server computer in a first encoding format, transforming the data from said first encoding format to a second encoding format at the second server computer and transmitting the transformed data in said second encoding format to the client computer from the second server computer.
Preferably, the data is transmitted from the first server computer to the second server computer using a first transport protocol and the transformed data is transmitted from the second server computes to the client computer using a second transport protocol. The data may be transmitted by the first computer server to the second computer server using the Transport Control Protocol, the data is transformed by the second server and the transformed data is transmitted to the client computer using the User Diagram Protocol. The transforming performed by the second server computer may be determined by the content of a protocol downloaded to the second server computer from a third server computer. The first server computer may be a World Wide Web server.
According to a second aspect of the invention there is provided a dynamic proxy server computer located in a communications network such that it is in a communications route intermediate a server computer and a client computer, the dynamic proxy server computer being configured to receive data transmitted in a first data format from said server computer, to transform received data to a second data format from said first data format and to transmit the transformed data to the client computer in said second data format. Preferably, the transforming performed by the dynamic proxy server computer is determined by the content of a protocol downloaded from a third server computer. The dynamic proxy server computer may be configured to receive data transmitted from the server computer using a first transport protocol and to transmit the transformed data to the client computer using a second transport protocol. Preferably the data is transmitted by the first computer server to the dynamic proxy server computer using the Transport Control Protocol, the data is transformed by the dynamic proxy server computer and the transformed data is transmitted to the client computer using the User Diagram Protocol. The first server computer may be a World Wide Web server.
According to a third aspect of the invention there is provided a communications network comprising a World Wide Web server, a client computer and at least one dynamic proxy server computer, the dynamic proxy server computer being located between the World Wide Web serves and the client computer, the dynamic proxy server computer being arranged to transform data transmitted from the World Wide Web server to the client computer.